package com.eastfair.tag.service;

import com.eastfair.core.base.R;
import com.eastfair.mongocrud.dao.impl.BaseDaoImpl;
import com.eastfair.tag.entity.TagTarget;

import java.util.List;

/**
 * Date:2022/3/22
 * Time:10:09
 *
 * @author zjn
 */
public interface BaseTagTargetService<T extends TagTarget> {

    /**
     * 主体标签直接绑定
     *
     * @param T 主体标签信息
     * @return 是否成功
     */
    R<Boolean> saveTagTarget(T T, BaseDaoImpl baseDao);

    /**
     * 主体标签间接绑定
     *
     * @param T 主体资源信息
     * @return 是否成功
     */
    R<Boolean> saveTagTargetByResourceType(T T, BaseDaoImpl baseDao);

    /**
     * 获取主体标签
     *
     * @param T 主体资源信息
     * @return 是否成功
     */
    R<List<Object>> getTargetTagList(T T, BaseDaoImpl baseDao);
}
